Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / nginx.demo.conf

Displaying Raw • Download


nginx.demo.conf v3.3.2 (aaa1e9b0) Text, 15.38 KB

Te6edf3server Tb4b4b4{
Te6edf3listen T79c0ff8080Tb4b4b4;
Te6edf3server_name Te6edf3localhostTb4b4b4;

Te6edf3absolute_redirect Te6edf3offTb4b4b4;
Te6edf3port_in_redirect Te6edf3offTb4b4b4;

Te6edf3include Tff7b72/Te6edf3etcTff7b72/Te6edf3nginxTff7b72/Te6edf3mimeTff7b72.Td2a8fftypesTb4b4b4;
Te6edf3default_type Te6edf3applicationTff7b72/Te6edf3octetTff7b72-Te6edf3streamTb4b4b4;

Te6edf3root Tff7b72/Te6edf3usrTff7b72/Te6edf3shareTff7b72/Te6edf3nginxTff7b72/Te6edf3htmlTb4b4b4;
Te6edf3index Te6edf3indexTff7b72.Td2a8ffhtmlTb4b4b4;

T8b949e# Support for SPA routing
Te6edf3location Tff7b72/ Tb4b4b4{
Te6edf3try_files Tff7b72$Te6edf3uri Tff7b72$Te6edf3uriTff7b72/ Tff7b72/Te6edf3indexTff7b72.Td2a8ffhtmlTb4b4b4;
Te6edf3add_header Te6edf3CacheTff7b72-Te6edf3Control Ta5d6ff"Ta5d6ffno-cacheTa5d6ff"Tb4b4b4;
Tb4b4b4}

T8b949e# Don't serve index.html for missing assets
Te6edf3location Tff7b72~Tff7b72* \Tff7b72.Tb4b4b4(Te6edf3jsTff7b72|Te6edf3cssTff7b72|Te6edf3pngTff7b72|Te6edf3jpgTff7b72|Te6edf3jpegTff7b72|Te6edf3gifTff7b72|Te6edf3icoTff7b72|Te6edf3svgTff7b72|Te6edf3woffTff7b72|Te6edf3woff2Tff7b72|Te6edf3ttfTff7b72|Te6edf3eotTff7b72|Te6edf3wasmTff7b72|Te6edf3jsonTff7b72|Te6edf3protoTb4b4b4)Tff7b72$ Tb4b4b4{
Te6edf3add_header Te6edf3CacheTff7b72-Te6edf3Control Ta5d6ff"Ta5d6ffpublic, max-age=31536000, immutableTa5d6ff"Tb4b4b4;
Te6edf3access_log Te6edf3offTb4b4b4;
Te6edf3try_files Tff7b72$Te6edf3uri Tff7b72=T79c0ff404Tb4b4b4;
Tb4b4b4}

T8b949e# Mocking missing critical files for demo stability
Te6edf3location Tff7b72= Tff7b72/Te6edf3manifestTff7b72.Td2a8ffjson Tb4b4b4{
Te6edf3add_header Te6edf3CacheTff7b72-Te6edf3Control Ta5d6ff"Ta5d6ffno-cacheTa5d6ff"Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Te6edf3try_files Tff7b72$Te6edf3uri @Te6edf3mock_manifestTb4b4b4;
Tb4b4b4}
Te6edf3location @Te6edf3mock_manifest Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffnameTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffMeshChat DemoTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffshort_nameTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffMeshChatTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffstart_urlTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff/Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffdisplayTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffstandaloneTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fficonsTa5d6ff"Ta5d6ff: [{Ta5d6ff"Ta5d6ffsrcTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff/favicons/favicon-512x512.pngTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffsizesTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff512x512Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fftypeTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffimage/pngTa5d6ff"Ta5d6ff}]}Ta5d6ff'Tb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72= Tff7b72/Te6edf3serviceTff7b72-Te6edf3workerTff7b72.Td2a8ffjs Tb4b4b4{
Te6edf3add_header Te6edf3CacheTff7b72-Te6edf3Control Ta5d6ff"Ta5d6ffno-cacheTa5d6ff"Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3javascriptTb4b4b4;
Te6edf3try_files Tff7b72$Te6edf3uri @Te6edf3mock_swTb4b4b4;
Tb4b4b4}
Te6edf3location @Te6edf3mock_sw Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff// Mock Service WorkerTffea00\nTa5d6ffself.addEventListener(Ta5d6ff"Ta5d6fffetchTa5d6ff"Ta5d6ff, (event) => {});Ta5d6ff'Tb4b4b4;
Tb4b4b4}

T8b949e# Mock Codec2 scripts to prevent load failures in demo mode
Te6edf3location Tff7b72^Tff7b72~ Tff7b72/Te6edf3assetsTff7b72/Te6edf3jsTff7b72/Te6edf3codec2Tff7b72-Te6edf3emscriptenTff7b72/ Tb4b4b4{
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3javascriptTb4b4b4;
Te6edf3try_files Tff7b72$Te6edf3uri Tff7b72=T79c0ff200Tb4b4b4;
Tb4b4b4}

T8b949e# Gzip compression
Te6edf3gzip Te6edf3onTb4b4b4;
Te6edf3gzip_vary Te6edf3onTb4b4b4;
Te6edf3gzip_proxied Te6edf3anyTb4b4b4;
Te6edf3gzip_comp_level T79c0ff6Tb4b4b4;
Te6edf3gzip_types Te6edf3textTff7b72/Te6edf3plain Te6edf3textTff7b72/Te6edf3css Te6edf3textTff7b72/Te6edf3xml Te6edf3applicationTff7b72/Te6edf3json Te6edf3applicationTff7b72/Te6edf3javascript Te6edf3applicationTff7b72/Te6edf3rssTff7b72+Te6edf3xml Te6edf3applicationTff7b72/Te6edf3atomTff7b72+Te6edf3xml Te6edf3imageTff7b72/Te6edf3svgTff7b72+Te6edf3xmlTb4b4b4;

T8b949e# Mock responses for demo mode with the power of NGINX!
Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3authTff7b72/Te6edf3status Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffauth_enabledTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffauthenticatedTa5d6ff"Ta5d6ff: true}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3config Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffconfigTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffthemeTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffdarkTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fflanguageTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffenTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffDemo UserTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffidentity_hashTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffeffe95b0482d7b6c04844977d17e0c36Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fflxmf_address_hashTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffc0ffee00000000000000000000000000Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffauto_announce_interval_secondsTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6fflxmf_user_icon_nameTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffaccountTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fflxmf_user_icon_foreground_colourTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff#ffffffTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fflxmf_user_icon_background_colourTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff#000000Ta5d6ff"Ta5d6ff}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3appTff7b72/Te6edf3info Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffapp_infoTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffversionTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffdemoTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffrns_versionTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff0.0.0Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6fflxmf_versionTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff0.0.0Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffpython_versionTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff3.11Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffis_connected_to_shared_instanceTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffis_transport_enabledTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffreticulum_config_pathTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff/demo/rns.confTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffdatabase_pathTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff/demo/meshchat.dbTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffdatabase_file_sizeTa5d6ff"Ta5d6ff: 1048576, Ta5d6ff"Ta5d6ffis_demoTa5d6ff"Ta5d6ff: true, Ta5d6ff"Ta5d6ffmemory_usageTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffrssTa5d6ff"Ta5d6ff: 52428800, Ta5d6ff"Ta5d6ffvmsTa5d6ff"Ta5d6ff: 104857600}, Ta5d6ff"Ta5d6ffnetwork_statsTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffbytes_sentTa5d6ff"Ta5d6ff: 102400, Ta5d6ff"Ta5d6ffbytes_recvTa5d6ff"Ta5d6ff: 204800, Ta5d6ff"Ta5d6ffpackets_sentTa5d6ff"Ta5d6ff: 150, Ta5d6ff"Ta5d6ffpackets_recvTa5d6ff"Ta5d6ff: 300}, Ta5d6ff"Ta5d6ffreticulum_statsTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6fftotal_pathsTa5d6ff"Ta5d6ff: 42, Ta5d6ff"Ta5d6ffannounces_per_secondTa5d6ff"Ta5d6ff: 0.1, Ta5d6ff"Ta5d6ffannounces_per_minuteTa5d6ff"Ta5d6ff: 6, Ta5d6ff"Ta5d6ffannounces_per_hourTa5d6ff"Ta5d6ff: 360}}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3databaseTff7b72/Te6edf3health Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffdatabaseTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffquick_checkTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffokTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffjournal_modeTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffwalTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffwal_autocheckpointTa5d6ff"Ta5d6ff: 1000, Ta5d6ff"Ta5d6ffpage_sizeTa5d6ff"Ta5d6ff: 4096, Ta5d6ff"Ta5d6ffpage_countTa5d6ff"Ta5d6ff: 256, Ta5d6ff"Ta5d6fffreelist_pagesTa5d6ff"Ta5d6ff: 10, Ta5d6ff"Ta5d6ffestimated_free_bytesTa5d6ff"Ta5d6ff: 40960}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3reticulumTff7b72/Te6edf3interfaces Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffinterfacesTa5d6ff"Ta5d6ff: {
Ta5d6ff"Ta5d6ffRNode-LoRa-V3Ta5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRNodeInterfaceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffportTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff/dev/ttyUSB0Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fffrequencyTa5d6ff"Tb4b4b4: T79c0ff868000000Tb4b4b4, Ta5d6ff"Ta5d6ffbandwidthTa5d6ff"Tb4b4b4: T79c0ff125000Tb4b4b4, Ta5d6ff"Ta5d6ffspreadingfactorTa5d6ff"Tb4b4b4: T79c0ff7Tb4b4b4, Ta5d6ff"Ta5d6ffcodingrateTa5d6ff"Tb4b4b4: T79c0ff5Tb4b4b4, Ta5d6ff"Ta5d6fftxpowerTa5d6ff"Tb4b4b4: T79c0ff7Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffInternetTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffTCPClientInterfaceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftarget_hostTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffhub.reticulum.networkTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftarget_portTa5d6ff"Tb4b4b4: T79c0ff4242Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffI2C-Bus-0Ta5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffI2CInterfaceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffalseTa5d6ff"Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffLAN MeshTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffUDPInterfaceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflisten_ipTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff0.0.0.0Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflisten_portTa5d6ff"Tb4b4b4: T79c0ff4242Tb4b4b4, Ta5d6ff"Ta5d6ffforward_ipTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff255.255.255.255Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffforward_portTa5d6ff"Tb4b4b4: T79c0ff4242Tb4b4b4}
Tb4b4b4}Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3interfaceTff7b72-Te6edf3stats Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffinterface_statsTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffinterfacesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffshort_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRNode-LoRa-V3Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[RNode]Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Tff7b72trueTb4b4b4, Ta5d6ff"Ta5d6ffbitrateTa5d6ff"Tb4b4b4: T79c0ff1200Tb4b4b4, Ta5d6ff"Ta5d6fftxbTa5d6ff"Tb4b4b4: T79c0ff1024Tb4b4b4, Ta5d6ff"Ta5d6ffrxbTa5d6ff"Tb4b4b4: T79c0ff5120Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffshort_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffInternetTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[TCP]Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Tff7b72trueTb4b4b4, Ta5d6ff"Ta5d6ffbitrateTa5d6ff"Tb4b4b4: T79c0ff10000000Tb4b4b4, Ta5d6ff"Ta5d6fftxbTa5d6ff"Tb4b4b4: T79c0ff45678Tb4b4b4, Ta5d6ff"Ta5d6ffrxbTa5d6ff"Tb4b4b4: T79c0ff987654Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffshort_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffI2C-Bus-0Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[I2C]Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Tff7b72falseTb4b4b4, Ta5d6ff"Ta5d6ffbitrateTa5d6ff"Tb4b4b4: T79c0ff400000Tb4b4b4, Ta5d6ff"Ta5d6fftxbTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ffrxbTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffshort_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffLAN MeshTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[UDP]Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Tff7b72trueTb4b4b4, Ta5d6ff"Ta5d6ffbitrateTa5d6ff"Tb4b4b4: T79c0ff100000000Tb4b4b4, Ta5d6ff"Ta5d6fftxbTa5d6ff"Tb4b4b4: T79c0ff12345Tb4b4b4, Ta5d6ff"Ta5d6ffrxbTa5d6ff"Tb4b4b4: T79c0ff67890Tb4b4b4}
Tb4b4b4]Tb4b4b4}Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3lxmfTff7b72/Te6edf3conversations Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffconversationsTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflatest_message_previewTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffHello from the mesh!Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffunread_countTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6fflxmf_user_iconTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fficon_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffaccountTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffforeground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#ffffffTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbackground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#3b82f6Ta5d6ff"Tb4b4b4}Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBobTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T11:30:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflatest_message_previewTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffDid you see the new RNode update?Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffunread_countTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6fflxmf_user_iconTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fficon_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffrobotTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffforeground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#ffffffTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbackground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#ef4444Ta5d6ff"Tb4b4b4}Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRegional HubTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T10:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflatest_message_previewTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffStatus: All interfaces operationalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffunread_countTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6fflxmf_user_iconTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6fficon_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffserverTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffforeground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#ffffffTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffbackground_colourTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff#10b981Ta5d6ff"Tb4b4b4}Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72~ Tff7b72^Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3lxmfTff7b72-Te6edf3messagesTff7b72/Te6edf3conversationTff7b72/Tb4b4b4(Tff7b72.Tff7b72*Tb4b4b4)Tff7b72$ Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6fflxmf_messagesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffmsg1Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffsource_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffc0ffee00000000000000000000000000Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffHey there!Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735732500Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T11:55:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdeliveredTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffpropagatedTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffmsg2Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffsource_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffc0ffee00000000000000000000000000Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffHello from the mesh!Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735732800Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffstateTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdeliveredTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffmethodTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffpropagatedTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72~ Tff7b72^Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3lxmfTff7b72/Te6edf3conversationsTff7b72/Tb4b4b4(Tff7b72.Tff7b72*Tb4b4b4)Tff7b72/Te6edf3markTff7b72-Tff7b72asTff7b72-Te6edf3readTff7b72$ Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffsuccessTa5d6ff"Ta5d6ff: true}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3blockedTff7b72-Te6edf3destinations Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffblocked_destinationsTa5d6ff"Ta5d6ff: []}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3telephoneTff7b72/Te6edf3status Tb4b4b4{
Te6edf3set Tff7b72$Te6edf3mock_call Tff7b72$Te6edf3arg_mock_callTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72$Te6edf3mock_call Tff7b72= Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffenabledTa5d6ff"Ta5d6ff: true, Ta5d6ff"Ta5d6ffis_busyTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffcall_statusTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffringingTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffactive_callTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffhashTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffcall123Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffringingTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Ta5d6ff: true, Ta5d6ff"Ta5d6ffis_outgoingTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffaudio_profile_idTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6fftx_packetsTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6ffrx_packetsTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6fftx_bytesTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6ffrx_bytesTa5d6ff"Ta5d6ff: 0, Ta5d6ff"Ta5d6ffis_mic_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffis_speaker_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffis_voicemailTa5d6ff"Ta5d6ff: false}, Ta5d6ff"Ta5d6ffis_mic_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffis_speaker_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffvoicemailTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffis_recordingTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffunread_countTa5d6ff"Ta5d6ff: 0}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffenabledTa5d6ff"Ta5d6ff: true, Ta5d6ff"Ta5d6ffis_busyTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffcall_statusTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffidleTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffactive_callTa5d6ff"Ta5d6ff: null, Ta5d6ff"Ta5d6ffis_mic_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffis_speaker_mutedTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffvoicemailTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffis_recordingTa5d6ff"Ta5d6ff: false, Ta5d6ff"Ta5d6ffunread_countTa5d6ff"Ta5d6ff: 0}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3telephoneTff7b72/Te6edf3mockTff7b72-Te6edf3incomingTff7b72-Te6edf3call Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffmessageTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffMock incoming call triggered. Poll /api/v1/telephone/status?mock_call=true to see the callTa5d6ff"Ta5d6ff}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3telephoneTff7b72/Te6edf3history Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffcall_historyTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompletedTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffduration_secondsTa5d6ff"Tb4b4b4: T79c0ff125Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735732800.0Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff2Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBobTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompletedTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffduration_secondsTa5d6ff"Tb4b4b4: T79c0ff45Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735731000.0Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T11:30:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRegional HubTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffmissedTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffduration_secondsTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735729200.0Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T11:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff4Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffef4444Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffEcho BotTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffailedTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffduration_secondsTa5d6ff"Tb4b4b4: T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735727400.0Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T10:30:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff5Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffa1b2c3Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffremote_identity_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCharlieTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffis_incomingTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompletedTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffduration_secondsTa5d6ff"Tb4b4b4: T79c0ff320Tb4b4b4, Ta5d6ff"Ta5d6fftimestampTa5d6ff"Tb4b4b4: T79c0ff1735725600.0Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T10:00:00ZTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3favourites Tb4b4b4{
Te6edf3set Tff7b72$Te6edf3aspect_filter Tff7b72$Te6edf3arg_aspectTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72$Te6edf3aspect_filter Tff7b72= Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6fffavouritesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff2Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBobTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72$Te6edf3aspect_filter Tff7b72= Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6fffavouritesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRegional HubTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff4Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fff68b5cTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffNomad PortalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6fffavouritesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff2Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBobTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRegional HubTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff4Tb4b4b4, Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fff68b5cTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffNomad PortalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3lxmfTff7b72/Te6edf3propagationTff7b72-Te6edf3nodeTff7b72/Te6edf3status Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffpropagation_node_statusTa5d6ff"Ta5d6ff: {Ta5d6ff"Ta5d6ffstateTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffidleTa5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffconnectedTa5d6ff"Ta5d6ff: true, Ta5d6ff"Ta5d6ffaddressTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Ta5d6ff, Ta5d6ff"Ta5d6ffmessages_receivedTa5d6ff"Ta5d6ff: 123, Ta5d6ff"Ta5d6ffmessages_sentTa5d6ff"Ta5d6ff: 45}}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3announces Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffannouncesTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAliceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4: T79c0ff12.5Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffBobTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T11:30:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff2Tb4b4b4, Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4: T79c0ff8.2Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffRegional HubTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T10:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4: T79c0ff15.0Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffef4444Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffEcho BotTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T09:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fff68b5cTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffNomad PortalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:05:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffa1b2c3Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCharlieTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fflxmf.deliveryTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T08:00:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff4Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffdestination_hashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffd4e5f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdisplay_nameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffMesh GatewayTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffaspectTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffupdated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:10:00ZTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4}
Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftotal_countTa5d6ff"Tb4b4b4: T79c0ff7Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3pathTff7b72-Te6edf3table Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffpath_tableTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[RNode]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff2Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[TCP]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff10b981Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[RNode]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffef4444Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[TCP]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fff68b5cTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[TCP]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffa1b2c3Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff4Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[UDP]Ta5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4{Ta5d6ff"Ta5d6ffhashTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffd4e5f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhopsTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6ffinterfaceTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAutoInterface[UDP]Ta5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftotal_countTa5d6ff"Tb4b4b4: T79c0ff7Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3notifications Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffnotificationsTa5d6ff"Ta5d6ff: [
Tb4b4b4{Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4, Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffnew_messageTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffNew MessageTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcontentTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffAlice: Hello from the mesh!Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff2026-01-01T12:00:00ZTa5d6ff"Tb4b4b4}
Tb4b4b4]Tb4b4b4}Ta5d6ff'Ta5d6ff;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3announce Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffmessageTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffAnnounce sent (Demo Mode)Ta5d6ff"Ta5d6ff}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3lxmfTff7b72/Te6edf3propagationTff7b72-Te6edf3nodeTff7b72/Te6edf3sync Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffmessageTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffSync started (Demo Mode)Ta5d6ff"Ta5d6ff}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

Te6edf3location Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3identityTff7b72/Te6edf3backupTff7b72/Te6edf3base32 Tb4b4b4{
Tff7b72return T79c0ff200 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffidentity_base32Ta5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffdemo_base32_identity_key_do_not_useTa5d6ff"Ta5d6ff}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

T8b949e# Catch-all for other API calls
Te6edf3location Tff7b72/Te6edf3api Tb4b4b4{
Tff7b72return T79c0ff404 Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6fferrorTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffEndpoint not available in demo modeTa5d6ff"Ta5d6ff}Ta5d6ff'Tb4b4b4;
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3applicationTff7b72/Te6edf3jsonTb4b4b4;
Tb4b4b4}

T8b949e# WebSocket handler for demo mode
Te6edf3location Tff7b72/Te6edf3ws Tb4b4b4{
T8b949e# For non-WebSocket requests, return a simple message
Tff7b72if Tb4b4b4(Tff7b72$Te6edf3http_upgrade Tff7b72!= Ta5d6ff"Ta5d6ffwebsocketTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3add_header Te6edf3ContentTff7b72-Te6edf3Type Te6edf3textTff7b72/Te6edf3plainTb4b4b4;
Tff7b72return T79c0ff200 Ta5d6ff"Ta5d6ffWebSocket endpoint (Demo Mode - WebSocket not available)Ta5d6ff"Tb4b4b4;
Tb4b4b4}

T8b949e# For WebSocket upgrade requests, return 426 Upgrade Required
T8b949e# This is more appropriate than 503 and prevents constant reconnection attempts
Te6edf3add_header Te6edf3Upgrade Te6edf3websocketTb4b4b4;
Te6edf3add_header Te6edf3Connection Te6edf3UpgradeTb4b4b4;
Tff7b72return T79c0ff426Tb4b4b4;
Tb4b4b4}

T8b949e# Error pages
Te6edf3error_page T79c0ff500 T79c0ff502 T79c0ff503 T79c0ff504 Tff7b72/T79c0ff50Te6edf3xTff7b72.Td2a8ffhtmlTb4b4b4;
Te6edf3location Tff7b72= Tff7b72/T79c0ff50Te6edf3xTff7b72.Td2a8ffhtml Tb4b4b4{
Te6edf3root Tff7b72/Te6edf3usrTff7b72/Te6edf3shareTff7b72/Te6edf3nginxTff7b72/Te6edf3htmlTb4b4b4;
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────